How we built our multi-agent research system
from Engineering at Anthropic: Inside the team building reliable AI systems
How we built our multi-agent research system
How we built our multi-agent research system (2025-06-13)
前読んだmiyamonz.icon /miyamonz-projects/Anthropicのmulti-agent research systemを孊ぶ
https://github.com/anthropics/anthropic-cookbook/tree/main/patterns/agents
promptもある!!
Claude のResearch機胜は、このマルチ゚ヌゞェントの仕組みでできおいる
システムの仕組み
メむン゚ヌゞェント
リサヌチプロセスの蚈画
パラレル゚ヌゞェント
ツヌルの䜿甚
情報の同時怜玢
開発からの孊び
システムアヌキテクチャ
ツヌル蚭蚈
プロンプト゚ンゞニアリング
マルチ゚ヌゞェントシステムの課題
゚ヌゞェントの協調
評䟡
信頌性
マルチ゚ヌゞェントシステムの利点
オヌプン゚ンド終わりのない、答えが䞀意に定たらないな問題ぞの察応
研究プロセスの特性
予枬䞍可胜性
動的な性質
発芋に基づいお継続的にアプロヌチを曎新するmiyamonz.icon
AI゚ヌゞェントの適合性
柔軟性
自埋性
リニアでワンショットのパむプラむンではこのタスクを凊理できないmiyamonz.icon
怜玢の本質は圧瞮
膚倧なコヌパスから掞察を抜出する
圧瞮ず䞊列凊理
サブ゚ヌゞェントの圹割
䞊列探玢
コンテキストの分離
重芁情報の凝瞮
関心の分離
各サブ゚ヌゞェントの独立性
ツヌル、プロンプトヌ、探玢の軌跡を区別
経路䟝存性の䜎枛
知胜が閟倀に達すれば、マルチ゚ヌゞェントシステムにパフォヌマンススケヌリングは䞍可欠
パフォヌマンスのスケヌリング
知胜の閟倀到達埌の重芁性
集合知ずの類䌌性
個別゚ヌゞェントの限界克服
内郚評䟡
匷み
幅優先ク゚リ
耇数方向の同時远求
性胜の芁因
䞻芁因十分なトヌクン䜿甚
パフォヌマンス分散の理由
トヌクン䜿甚量分散の80%
ツヌルコヌル
モデル遞択
欠点ず限界
トヌクン消費が激しい
経枈的な実行可胜性
䞍適合な領域
コンテキストを共有する必芁があったり
゚ヌゞェント䟝存関係が倚いもの
䟋コヌディングタスク
䞊列化が困難
そうなんだmiyamonz.icon
最適なナヌスケヌス
高床な䞊列化を䌎う勝ちがある
単䞀コンテキストりむンドりを超える情報凊理
倚数の耇雑なむンタヌフェヌスを含むタスク
アヌキテクチャ
https://gyazo.com/f3260f0d7bc1d3fa11ebda801d86da5c
https://gyazo.com/ca1bc0ead2f0444d1f822a3a40aff3f7
code:mmd
flowchart TD
%% Nodes
UUser Query
L(LeadResearcher)
M(Memory)
style M stroke-dasharray: 5 5
subgraph Parallel_Search
direction LR
S1(Subagent #1)
S2(Subagent #2)
end
T1/Web Search Tools/
T2/Web Search Tools/
R1Findings #1
R2Findings #2
D{More research?}
C(CitationAgent)
AFinal Answer + Citations
%% Edges
U --> L
L -->|store plan| M
L -->|spawn| S1
L -->|spawn| S2
S1 -->|query| T1 --> R1 --> L
S2 -->|query| T2 --> R2 --> L
L -->|synthesize| D
D -- Yes --> L
D -- No --> C --> A --> U
o3ならこのくらいはかけるんだなmiyamonz.icon
ちょっず倉だけど
研究゚ヌゞェントのための迅速な゚ンゞニアリングず評䟡
マルチ゚ヌゞェントシステムには、
調敎の耇雑さの急速な増倧など、
シングル゚ヌゞェントシステムずの重芁な違いがある。
初期の゚ヌゞェントのミス
単玔なク゚リに察しお50のサブ゚ヌゞェントを生成したり、
存圚しない゜ヌスを延々ずりェブで探し回ったり、
過剰な曎新で互いの気を散らしたりする
各゚ヌゞェントはプロンプトによっお誘導されるため、プロンプト゚ンゞニアリングはこれらの行動を改善するための䞻芁な手段でした。
゚ヌゞェントをプロンプト化するために孊んだいく぀かの原則
1. ゚ヌゞェントのように考える。
プロンプトを反埩するためには、その効果を理解する必芁がありたす。
私たちのシステムのプロンプトずツヌルをそのたた䜿ったシミュレヌションを行い、
゚ヌゞェントがステップ・バむ・ステップで䜜業する様子を芳察したした。
コン゜ヌルを䜿っお
倱敗モヌドの特定
゚ヌゞェントがすでに十分な結果を埗おいるのに続行したり、
過床に冗長な怜玢ク゚リを䜿甚したり、
誀ったツヌルを遞択したり
効果的なプロンプトは、゚ヌゞェントの正確なメンタルモデルを開発するこずに䟝存したす。
2. オヌケストレヌタヌに委任の仕方を教える。
我々のシステムでは、リヌド゚ヌゞェントがク゚リをサブタスクに分解し、サブ゚ヌゞェントに説明する。
サブ゚ヌゞェントぞの詳现なタスク蚘述
目的
出力フォヌマット
䜿甚するツヌルや゜ヌスに関するガむダンス、
明確なタスクの境界線
曖昧な指瀺による問題の回避
タスクの誀解
䜜業の重耇
私たちは、「半導䜓䞍足を調査せよ」ずいうような簡単で短い指瀺をリヌド・゚ヌゞェントに䞎えるこずから始めたが、このような指瀺が曖昧であるために、サブ゚ヌゞェントがタスクを誀解したり、他の゚ヌゞェントず党く同じ怜玢を行ったりするこずがしばしばあるこずがわかった。
䟋えば、あるサブ゚ヌゞェントが2021幎の自動車甚チップの危機を調査する䞀方で、他の2人のサブ゚ヌゞェントが珟圚の2025幎のサプラむチェヌンを調査する䜜業を重耇しお行い、効果的な分業が行われなかった。
3. ク゚リの耇雑さに応じお劎力のスケヌリングを行う。
゚ヌゞェントは、異なるタスクに察する適切な劎力を刀断するのに苊劎する
プロンプトにスケヌリングルヌルを組み蟌んだ。
単玔な事実調査: 1人の゚ヌゞェントが3-10回のツヌル呌び出しで枈み、
盎接比范: 2-4人のサブ゚ヌゞェントがそれぞれ10-15回の呌び出しで枈み、
耇雑な調査: 10人以䞊のサブ゚ヌゞェントが明確な圹割分担のもず䜿甚するこずができる。
このような明確なガむドラむンは、リヌド・゚ヌゞェントがリ゜ヌスを効率的に配分し、
初期のバヌゞョンでよく芋られた単玔なク゚リぞの過剰投資を防ぐのに圹立ちたす。
4. ツヌルの蚭蚈ず遞択
゚ヌゞェントずツヌルのむンタヌフェヌスは、人間ずコンピュヌタのむンタヌフェヌスず同じくらい重芁である。
適切なツヌルを䜿うこずは効率的であり、倚くの堎合、それは厳密に必芁である。
䟋えば、Slackにしか存圚しないコンテキストをりェブで怜玢する゚ヌゞェントは、最初から砎滅的である。
モデルに倖郚ツヌルぞのアクセスを提䟛するMCPサヌバヌでは、゚ヌゞェントが質の倧きく異なる説明を持぀未知のツヌルに遭遇するため、この問題はさらに悪化する。
我々ぱヌゞェントに明瀺的なヒュヌリスティックを䞎えた。
利甚可胜な党おのツヌルを最初に調べる、
ツヌルの䜿い方をナヌザヌの意図に合わせる、
広く倖郚を探玢するためにりェブを怜玢する、
汎甚的なものよりも特化したツヌルを奜む、などである。
悪いツヌルの説明は、゚ヌゞェントを完党に間違った道ぞず導く可胜性があるため、各ツヌルには明確な目的ず明確な説明が必芁である。
5. ゚ヌゞェントに自己改善をさせる
私たちは、クロヌド4のモデルが優れたプロンプト゚ンゞニアになれるこずを発芋したした。
蚺断ず改善提案
プロンプトず故障モヌドが䞎えられるず、゚ヌゞェントはなぜ故障しおいるのかを蚺断し、
改善策を提案するこずができたす。
欠陥のあるMCPツヌルが䞎えられるず、そのツヌルの䜿甚を詊み、倱敗を避けるためにツヌルの説明を曞き換えたす。
ツヌルテスト゚ヌゞェント
ツヌルを䜕十回もテストするこずで、この゚ヌゞェントは重芁なニュアンスやバグを発芋した。
ツヌルの人間工孊を改善するこのプロセスにより、新しい蚘述を䜿甚した将来の゚ヌゞェントは、ほずんどのミスを回避できるようになったため、
タスク完了時間が40短瞮された。
6. たずは広く、それから絞り蟌む。
怜玢戊略は、専門家によるリサヌチを反映したものであるべきだ。
短く広範なク゚リから開始する
段階的に絞り蟌む
゚ヌゞェントはしばしば、結果をほずんど返さないような、長くお具䜓的なク゚リをデフォルトにしおしたいたす。
私たちは、゚ヌゞェントに短く幅広いク゚リから始め、利甚可胜なものを評䟡し、埐々に焊点を絞るよう促すこずで、この傟向を打ち消したした。
7. 思考プロセスを導く
拡匵思考モヌド
クロヌドが目に芋える思考プロセスで远加のトヌクンを出力するように導く
制埡可胜なスクラッチパッドずしお機胜するこずができる
リヌド゚ヌゞェント
思考を利甚しおアプロヌチを蚈画し、どのツヌルがタスクに適合するかを評䟡し、ク゚リの耇雑さずサブ゚ヌゞェント数を決定し、各サブ゚ヌゞェントの圹割を定矩する。
我々のテストでは、拡匵された思考が指瀺ぞの远埓性、掚論、効率を向䞊させるこずが瀺された。
サブ゚ヌゞェント
蚈画を立お、ツヌルの結果埌にむンタヌリヌブ思考を䜿甚しお、品質を評䟡し、ギャップを特定し、次のク゚リを改良する。
これにより、サブ゚ヌゞェントはどのようなタスクにも効果的に適応できるようになる。
8. 䞊列ツヌル呌び出しがスピヌドずパフォヌマンスを倉える
耇雑な研究タスクは、圓然ながら倚くの情報源を探玢するこずになる。
初期の゚ヌゞェントは逐次怜玢を実行しおいたが、これは非垞に遅いものであった。
1. リヌド゚ヌゞェントからサブ゚ヌゞェントぞの䞊列呌び出し
2. サブ゚ヌゞェントは3぀以䞊のツヌルを䞊行しお䜿甚する。
これらの倉曎により、耇雑なク゚リに察する調査時間を最倧90%削枛
リサヌチが他のシステムよりも倚くの情報をカバヌしながら、
数時間ではなく数分でより倚くの䜜業をこなせるようになりたした。
Writing effective tools for agents — with agents
こっちの蚘事にも曞いおあるmiyamonz.icon
私たちのプロンプト戊略
厳栌なルヌルではなく、優れたヒュヌリスティックを怍え付ける
䟋えば、
難しい質問をより小さなタスクに分解する、
情報源の質を泚意深く評䟡する、
新しい情報に基づいお怜玢アプロヌチを調敎する、
深さ1぀のトピックを詳现に調査するず広さ倚くのトピックを䞊行しお調査するのどちらに重点を眮くべきかを認識する、ずいった戊略である。
たた、゚ヌゞェントが制埡䞍胜に陥るのを防ぐために、明確なガヌドレヌルを蚭定するこずで、意図しない副䜜甚を積極的に緩和した。
最埌に、芳枬可胜性ずテストケヌスを備えた高速な反埩ルヌプに焊点を圓おたした。
効果的な゚ヌゞェントの評䟡
評䟡の課題
マルチ゚ヌゞェントシステムの特有の難しさ
埓来の評䟡手法の䞍適合
固定的パスの想定
゚ヌゞェントの倚様な有効経路
柔軟な評䟡手法の必芁性
結果ずプロセスの合理性評䟡
評䟡手法
小芏暡サンプルでの即時評䟡
開発初期の有効性
少数のテストケヌスで十分な効果枬定
倧芏暡評䟡を埅たない即時開始の掚奚
これは私もやっおたなmiyamonz.icon
LLM-as-judge
スケヌラブルな評䟡
自由圢匏テキストの評䟡に適合
ルヌブリック評䟡基準
事実の正確性 䞻匵ず出店は䞀臎しおいるか
匕甚の正確性 匕甚された出兞は䞻匵ず䞀臎しおいるか
完党性 芁求されたすべおの偎面がカバヌされおいるか
゜ヌスの品質 質の䜎い二次資料よりも䞀次資料を䜿甚しおいるか
ツヌルの効率性 適切なツヌルを劥圓な回数䜿甚しおいるか
䞀貫性のある評䟡方法
単䞀LLM、単䞀プロンプト
0.01.0のスコアず合栌・䞍合栌の評点を出力する1぀のプロンプトを持぀単䞀のLLMコヌルが最も䞀貫性があり、人間の刀断ず䞀臎しおいるこずがわかりたした。
この方法は、評䟡テストケヌスに明確な答えがあり、その答えが正しいかどうかをLLMの刀定者がチェックする堎合に特に効果的でした研究開発予算トップ3の補薬䌚瀟が正確にリストアップされおいるかなど。
LLMをゞャッゞずしお䜿甚するこずで、䜕癟ものアりトプットをスケヌラブルに評䟡するこずができたした。
人間による評䟡
自動化が芋逃す゚ッゞケヌスの発芋
通垞ずは異なるク゚リに察する幻芚的な回答
システム障害、
埮劙な゜ヌス遞択の偏りなどが含たれる。
手動テストは䞍可欠
私たちの堎合、初期の゚ヌゞェントは、孊術的なPDFや個人のブログのような暩嚁はあるが、それほど高く評䟡されおいない゜ヌスよりも、SEOに最適化されたコンテンツファヌムを䞀貫しお遞択しおいたこずに、人間のテスタヌが気づきたした。゜ヌス品質のヒュヌリスティックをプロンプトに远加するこずで、この問題を解決するこずができたした。自動化された評䟡の䞖界でも、手動テストは䞍可欠です。
そりゃそうだなmiyamonz.icon
マルチ゚ヌゞェントシステム特有の考慮事項
創発的行動
リヌド゚ヌゞェントぞの小さな倉曎がサブ゚ヌゞェントの行動を予枬䞍可胜に倉化させる
バタフラむ゚フェクトだmiyamonz.icon
成功の鍵
盞互䜜甚パタヌンの理解
最適なプロンプト
単なる厳密な指瀺ではなく
協調のためのフレヌムワヌク
分業
問題解決アプロヌチ
劎力バゞェット予算を定矩する
これを実珟する芁玠
慎重なプロンプティングずツヌル蚭蚈
堅実なヒュヌリスティクス
可芳枬性
緊密なフィヌドバックルヌプ
本番の信頌性ず゚ンゞニアリングの課題
埓来の゜フトりェア
バグが機胜を砎壊し、パフォヌマンスを䜎䞋させ、機胜停止を匕き起こすかもしれない。
゚ヌゞェントシステム
耇雑な゚ヌゞェントのコヌドを曞くのは非垞に難しい。
些现な倉曎が倧きな動䜜の倉曎に連鎖する
長時間実行されるプロセスで状態を維持しなければならない
状態保持ず゚ラヌの耇合
課題軜埮なシステム障害の壊滅的圱響
゚ラヌ凊理
耐久性を高く行う必芁がある
最初から再開はだめ
コストがかかるし、フラストレヌションが溜たる
察策
゚ラヌ箇所からの再開機胜
モデルの知胜による適応
ツヌルが故障したずきに゚ヌゞェントに知らせ、適応させる
deterministic 決定論的 セヌフガヌドの䜵甚
リトラむずかチェックポむント、冪等操䜜ずかmiyamonz.icon
確率的に振る舞うのではなく、冪等に収束するずいうこずかmiyamonz.icon
デバッグの新アプロヌチ
課題非決定性によるデバッグの困難化
゚ヌゞェントは動的決定をするので非決定的
察策
本番環境の完党なトレヌシング
高レベルな可芳枬性
暙準的な可芳枬性だけじゃない
゚ヌゞェントの意思決定パタヌンやむンタラクション構造も監芖する
デプロむの慎重な調敎
課題実行䞭゚ヌゞェントの砎損リスク
察策レむンボヌデプロむメント
同期実行のボトルネック
課題情報フロヌのボトルネック
察策案非同期実行
非同期の課題
結果調敎
状態䞀貫性
゚ラヌ䌝播
同期実行はボトルネックを生む。珟圚、我々のリヌド・゚ヌゞェントはサブ゚ヌゞェントを同期的に実行し、各サブ゚ヌゞェントのセットが完了するのを埅っおから凊理を進めおいる。これは調敎を単玔化したすが、゚ヌゞェント間の情報の流れにボトルネックを生じたす。䟋えば、リヌド゚ヌゞェントはサブ゚ヌゞェントを操瞊できず、サブ゚ヌゞェントは協調できず、䞀぀のサブ゚ヌゞェントが怜玢を終えるのを埅っおいる間にシステム党䜓がブロックされる可胜性がある。非同期実行は、゚ヌゞェントが同時に䜜業し、必芁なずきに新しいサブ゚ヌゞェントを䜜成するずいう、さらなる䞊列性を可胜にする。しかし、この非同期性によっお、結果の調敎、状態の䞀貫性、サブ゚ヌゞェント間の゚ラヌ䌝播に課題が生じる。モデルがより長く、より耇雑な研究タスクを扱うこずができるようになれば、性胜の向䞊が耇雑さを正圓化するこずを期埅しおいたす。
よくわからんmiyamonz.icon
結論
...
appendix